Data Aggregation এবং Summarization

Computer Programming - অক (Awk) AWK এর মাধ্যমে রিপোর্ট জেনারেশন (Report Generation using AWK) |
256
256

AWK এ Data Aggregation এবং Summarization

AWK একটি অত্যন্ত কার্যকর টুল যা বড় ডেটাসেট থেকে ডেটা অ্যাগ্রিগেশন (সংগ্রহ) এবং সামারাইজেশন (সারসংক্ষেপ) করতে ব্যবহৃত হয়। বিভিন্ন ধরনের ডেটা বিশ্লেষণ, যেমন গড় নির্ণয়, সর্বোচ্চ এবং সর্বনিম্ন মান বের করা, মোট যোগফল ইত্যাদি, AWK ব্যবহার করে করা যায়। নিচে ডেটা অ্যাগ্রিগেশন এবং সামারাইজেশনের কয়েকটি উদাহরণ এবং কৌশল দেখানো হলো।

সাধারণ ডেটা অ্যাগ্রিগেশন পদ্ধতি

AWK এ ডেটা অ্যাগ্রিগেশন করার জন্য সাধারণত লুপ এবং অ্যারে ব্যবহার করা হয়। BEGIN, END, এবং মূল স্ক্রিপ্ট ব্লকে বিভিন্ন কার্যক্রম সম্পন্ন করা হয়।

উদাহরণসমূহ

উদাহরণ ১: মোট যোগফল নির্ণয়

awk '{ sum += $2 } END { print "Total:", sum }' data.txt

বর্ণনা:

  • প্রতিটি লাইনের দ্বিতীয় কলামের মান sum ভেরিয়েবলে যোগ করা হয়েছে।
  • END ব্লকে মোট যোগফল প্রিন্ট করা হয়েছে।

উদাহরণ ২: গড় নির্ণয়

awk '{ sum += $2; count++ } END { if (count > 0) print "Average:", sum / count }' data.txt

বর্ণনা:

  • প্রতিটি লাইনের দ্বিতীয় কলামের মান sum এ যোগ করা হয়েছে এবং count দিয়ে মোট লাইন সংখ্যা গণনা করা হয়েছে।
  • END ব্লকে গড় বের করার জন্য sum / count ব্যবহার করা হয়েছে।

উদাহরণ ৩: সর্বোচ্চ এবং সর্বনিম্ন মান নির্ণয়

awk 'NR == 1 { max = min = $2 } 
{
    if ($2 > max) max = $2
    if ($2 < min) min = $2
}
END {
    print "Max value:", max
    print "Min value:", min
}' data.txt

বর্ণনা:

  • প্রথম লাইনে, max এবং min কে প্রথম মান হিসাবে সেট করা হয়েছে।
  • প্রতিটি লাইনে মান পরীক্ষা করে, max এবং min আপডেট করা হয়েছে।
  • END ব্লকে সর্বোচ্চ এবং সর্বনিম্ন মান প্রিন্ট করা হয়েছে।

গ্রুপ অনুযায়ী ডেটা সামারাইজেশন

AWK এ অ্যারে ব্যবহার করে গ্রুপ ভিত্তিক ডেটা অ্যাগ্রিগেশন করা যায়।

উদাহরণ ৪: বিক্রেতা অনুযায়ী মোট বিক্রয়

awk '{ sales[$1] += $3 } END { for (seller in sales) print seller, "Total sales:", sales[seller] }' sales_data.txt

বর্ণনা:

  • প্রতিটি লাইনের প্রথম কলামকে (বিক্রেতার নাম) ইনডেক্স হিসেবে ব্যবহার করে, তৃতীয় কলামের (বিক্রয় সংখ্যা) মান যোগ করা হয়েছে।
  • END ব্লকে প্রতিটি বিক্রেতার নাম এবং তার মোট বিক্রয় প্রিন্ট করা হয়েছে।

ডেটা ফিল্টারিং সহ সামারাইজেশন

AWK এ শর্ত যোগ করে ডেটা সামারাইজেশন আরও কার্যকরী করা যায়।

উদাহরণ ৫: নির্দিষ্ট শর্তে ডেটা যোগফল বের করা

awk '$2 > 50 { sum += $3 } END { print "Total sales for items over 50 units:", sum }' sales_data.txt

বর্ণনা:

  • দ্বিতীয় কলামের মান ৫০ এর বেশি হলে তৃতীয় কলামের মান sum এ যোগ করা হয়েছে।
  • END ব্লকে মোট যোগফল প্রিন্ট করা হয়েছে।

কাস্টম ফাংশন ব্যবহার করে সামারাইজেশন

AWK এ কাস্টম ফাংশন ব্যবহার করে সামারাইজেশনকে আরও সহজ এবং পুনঃব্যবহারযোগ্য করা যায়।

awk '
function calculate_average(total, count) {
    return (count > 0) ? total / count : 0
}
{
    sum += $2
    count++
}
END {
    avg = calculate_average(sum, count)
    print "Total:", sum
    print "Average:", avg
}
' data.txt

বর্ণনা:

  • calculate_average নামে একটি কাস্টম ফাংশন তৈরি করা হয়েছে যা গড় বের করে।
  • END ব্লকে sum এবং avg প্রিন্ট করা হয়েছে।

সারসংক্ষেপ

AWK ব্যবহার করে ডেটা অ্যাগ্রিগেশন এবং সামারাইজেশন সহজে এবং কার্যকরভাবে করা যায়। লুপ, অ্যারে এবং কাস্টম ফাংশন ব্যবহার করে AWK জটিল ডেটা প্রক্রিয়াকরণ এবং বিশ্লেষণের কাজ দ্রুত করতে সক্ষম। ডেটা বিশ্লেষণ এবং সামারাইজেশনের ক্ষেত্রে AWK একটি গুরুত্বপূর্ণ টুল যা প্রোগ্রামারদের ডেটা বিশ্লেষণকে সহজ এবং দ্রুত করতে সহায়তা করে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion